
#include "ComputationScale.h"
#include "FEProblem.h"
#include "SubProblem.h"
#include "NonlinearSystem.h"
#include "MooseMesh.h"
template<>
InputParameters validParams<ComputationScale>()
{
  InputParameters params = validParams<GeneralPostprocessor>();
  return params;
}

ComputationScale::ComputationScale(const InputParameters &parameters) :
    GeneralPostprocessor(parameters)
{}

Real ComputationScale::getValue()
{
  int dof = _subproblem.es().n_dofs();
  double n_var = _fe_problem.getNonlinearSystem().nVariables();
  int dim = _subproblem.mesh().dimension();
  return pow(n_var/dof, 1./dim);

}

